package com.yboot.module.system.model.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yboot.starter.common.core.web.validation.InsertGroup;
import com.yboot.starter.common.core.web.validation.UpdateGroup;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;

import lombok.Data;

/**
 * 客户端表
 * @author yangcs
 * @date 2025-08-29
 */
@Data
public class SysClientDto implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * ID
     */
    @NotBlank(message = "id不能为空", groups = {UpdateGroup.class})
    private String id;
    /**
     * 客户端ID
     */
    @NotBlank(message = "clientId不能为空", groups = {InsertGroup.class, UpdateGroup.class})
    private String clientId;
    /**
     * 客户端类型
     */
    @NotBlank(message = "clientType不能为空", groups = {InsertGroup.class, UpdateGroup.class})
    private String clientType;
    /**
     * 认证类型
     */
    @NotBlank(message = "authType不能为空", groups = {InsertGroup.class, UpdateGroup.class})
    private String authType;
    /**
     * Token最低活跃频率（单位：秒，-1：不限制，永不冻结）
     */
    private Long activeTimeout;
    /**
     * Token有效期（单位：秒，-1：永不过期）
     */
    private Long timeout;
    /**
     * 状态（1：启用；2：禁用）
     */
    @NotBlank(message = "status不能为空", groups = {InsertGroup.class, UpdateGroup.class})
    private String status;
    /**
     * 删除标识
     */
    private String deleteFlag;
}
